﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Unimaq.FacturaDBS_Spring.LogicaNegocio
{
    public class CM_CO_ComprobanteDetalleBLL
    {
        public int Registrar(Util.ContextoDBSpring ctx, Entidades.Spring.CM_CO_ComprobanteDetalle_Interfase cmDetalle)
        {
            ADO.Spring_CM_CO_ComprobanteDetalle_Interfase_ADO detalleComprobanteADO =
                new ADO.Spring_CM_CO_ComprobanteDetalle_Interfase_ADO();

            int resultado = 0;
         
            resultado = detalleComprobanteADO.Registrar(ctx, cmDetalle);                

            return resultado;
        }

        public int TR_Registrar(List<Entidades.Spring.CM_CO_ComprobanteDetalle_Interfase> listaDetalle)
        {
            int result = 0;
            using (Util.ContextoDBSpring ctx = Util.ContextoDBSpring.GetContexto())
            {
                ctx.LoadTransaction();
                
                foreach (Entidades.Spring.CM_CO_ComprobanteDetalle_Interfase l in listaDetalle)
                {
                    result += Registrar(ctx, l);
                }

                ctx.ConfirmarTx();
            }

            return result;
        }

        public int Registrar(Util.ContextoDBSpring ctx, List<Entidades.Spring.CM_CO_ComprobanteDetalle_Interfase> listaDetalle, Entidades.Spring.UNIMAQ_ProcesoCarga selectedProcesoCarga)
        {
            int result = 0;

            foreach (Entidades.Spring.CM_CO_ComprobanteDetalle_Interfase l in listaDetalle)
            {
                l.ProcesoCarga = selectedProcesoCarga.Valor;
                result += Registrar(ctx, l);
            }

            return result;
        }
    }
}
